# Contributor: Leo <thinkabit.ukim@gmail.com>
# Contributor: Celeste <cielesti@protonmail.com>
# Contributor: Andrei Jiroh Eugenio Halili <ajhalili2006@andreijiroh.xyz>
# Maintainer: Andrei Jiroh Eugenio Halili <ajhalili2006@andreijiroh.xyz>
pkgname=github-cli
pkgver=2.47.0
pkgrel=1
pkgdesc="CLI for dealing with GitHub"
options="net" # Need to fetch modules
url="https://cli.github.com"
arch="all"
license="MIT"
depends="git"
makedepends="go"
checkdepends="openssh-keygen openssh-client"
subpackages="
	$pkgname-doc
	$pkgname-bash-completion
	$pkgname-zsh-completion
	"
source="https://github.com/cli/cli/archive/v$pkgver/github-cli-$pkgver.tar.gz
	fix-attestation-cmd-offline-unit-test-failure.patch
	no-ignore-goflags.patch
	"
builddir="$srcdir/cli-$pkgver"

export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"

prepare() {
	default_prepare

	# TODO: These tests invoke the TTY and our container *really* does not like that
	# Copied from https://github.com/archlinux/svntogit-community/blob/packages/github-cli/trunk/PKGBUILD
	rm pkg/cmd/auth/login/login_test.go
}

build() {
	CGO_CPPFLAGS="$CPPFLAGS" \
	CGO_CFLAGS="$CFLAGS" \
	CGO_CXXFLAGS="$CXXFLAGS" \
	CGO_LDFLAGS="$LDFLAGS" \
	\
	make GH_VERSION="v$pkgver" bin/gh manpages
	bin/gh completion -s bash | install -Dm0644 /dev/stdin \
		share/bash-completion/completions/gh
	bin/gh completion -s zsh | install -Dm0644 /dev/stdin \
		share/zsh/site-functions/_gh
}

check() {
	export TZ=Europe/London
	# skip tests that fail in official CI
	export GITHUB_ACTIONS=true
	go test ./...
}

package() {
	install -Dm755 bin/gh "$pkgdir"/usr/bin/gh

	mkdir -p "$pkgdir"/usr
	cp -r share "$pkgdir"/usr
}

sha512sums="
f8936b4a702698ba49b8d1e6b88c5e0212eed380a1359be0158b4588d33300ce7b411eb79c4776c8c0a5a5ad3262ff4b14c94c69e9ea35df41ec51820f9975fa  github-cli-2.47.0.tar.gz
0936eb6627c933dc87dad92d339ad29f1d5b6667560481c0272bfbc2cf7ed11ff35a0880479aac8e581b5621a1c495024a81d892ff5fadbcb7729ce577898a5b  fix-attestation-cmd-offline-unit-test-failure.patch
57be81e57c0bb5c36e07b6ff2aab661f1a9cd0bbab3ef159c24d59098451858c44fce09d2f5eb86380044568a6acc46ed65b56a87f5a3dc4057d5579e8f420aa  no-ignore-goflags.patch
"
